专利摘要:
一種在計算機裝置中用於防止惡意軟體執行的方法與系統。該方法包括載入碼至該計算機裝置的一非可執行記憶體中,並使與該碼有關聯的一驗證簽章有效。接著,該碼被解密,而且最後一旦確定該驗證簽章係有效時,執行該被解密的碼。
公开号:TW201319863A
申请号:TW101121939
申请日:2012-06-19
公开日:2013-05-16
发明作者:Jonathan E Andersson;Shannon Cash;Guy A Stewart
申请人:Standard Microsyst Smc;
IPC主号:G06F21-00
专利说明:
用於防止惡意軟體執行的方法與系統
本發明係關於惡意軟體的領域,尤指惡意軟體的偵測。
越來越多的電腦與計算機裝置經由各種的網路(例如網際網路)被互相連接,安全性變得越來越重要,尤其是從網路或是資訊流所傳送的入侵或攻擊。這些攻擊以許多不同的形式出現,例如病毒、蠕蟲及木馬程式,其利用一或多個電腦系統弱點來達成非法的目的。然而熟習此項技術者將瞭解到各種電腦攻擊係獨特地與另一個有區別,為了該描述的目的,所有的惡意電腦程式係歸類於惡意軟體。一般來說,惡意軟體將在無擁有者的同意下進行破壞、降級或滲透一計算機裝置。
安全積體電路(ICs,Integrated Circuits)為了防範攻擊而利用一些安全措施,其中該安全措施之特徵為防止載入可疑碼。此類的技術也用於防止具有加密技術的誤傳導攻擊(fault induction attacks),其中該誤傳導攻擊係能夠攻擊可疑碼的執行。然而,該等特徵在每天時常不能停止新的攻擊發生。此外,當啟動該IC,這些特徵可能尚未被初始化而容易被繞過或篡改。
為了克服這些攻擊,一些硬體與軟體技術開始被提出。硬體技術包括增加矽資源(silicon resources)至該IC中,例如硬化重置電路系統或額外的靜電放電(ESD,Electrostatic Discharge)保護。其他的增加部分可包括如電源調節器(欠壓/過壓保護)與內部振盪器。然而,硬體的解決方式相當昂貴。
軟體技術包括測量,例如執行遮蔽堆疊(shadow stacks)(手動,複製追蹤與驗證程式資訊流控制的堆疊)、驗證簽章及加密演算法。然而,軟體的解決方式係朝向增加需要降低攻擊風險的投入水平(level of effort)。舉例來說,在啟動載入該IC之前,與該啟動碼有關聯的數位簽章被驗証以識別該惡意軟體。然而,攻擊者可能會經由各種方法例如感應短時脈衝波干擾(inducting glitches)或計時器篡改(clock manipulation)來略過該簽章驗證步驟以強迫執行該惡意軟體。
因此將高度地希望具有簡單與有效的機構來用於防止惡意軟體執行以抵抗不希望得到的攻擊。
本發明揭示描述一種在計算機裝置中用於防止惡意軟體執行的方法與系統。該方法包括從一外部裝置載入碼至該計算機裝置的一非可執行記憶體中,並驗證與該碼有關聯的一驗證簽章。接著,一旦確定該驗證簽章係有效時,該碼被解密且該被解密的碼係執行在一可執行記憶體中。
本發明另一具體實施例揭示描述一種防止惡意軟體執行的系統。該系統包括從一外部裝置接收碼的可執行記憶體與一非可執行記憶體。可執行記憶體與非可執行記憶體係記憶體區段,該等記憶體區段係分別能夠指令執行及不能夠指令執行。該系統也包括一處理器,該處理器驗證與該碼有關聯的一驗證簽章,以及解密該碼。接著,該處理器一旦確定該驗證簽章係有效時,執行該被解密的碼在該可執行記憶體中。
下述的詳細描述係參考該等圖式。例示的具體實施例係描述例示揭露之標的,並不限於該等附加的申請專利範圍所定義的範圍。
本發明揭露描述一種在計算機裝置中用於防止惡意軟體執行的方法及系統。該方法保證從一外部來源接收的碼之一區塊或韌體係被載入至該裝置之一非可執行記憶體。一處理器驗證與該碼有關聯的一驗證簽章,並接著在該非可執行記憶體中解密該碼。一旦該驗證簽章係有效時,使用一可執行記憶體並接著執行該已解密的碼。
該惡意軟體偵測技術防止惡意軟體進入該可執行記憶體。在非可執行記憶體中,同時地驗證與解密該碼之區塊。若該碼係有效的,並且使用一正確安全性金鑰,該可執行記憶體接收驗證的與已解密的碼可以因此被執行。因為惡意軟體係使用一不正確安全性金鑰來非加密或加密,使得該惡意軟體的解密產生不可執行的資料。因此,該惡意軟體達到該可執行記憶體為未驗證與不可執行的碼。由於本發明揭露係防止惡意軟體執行,因此能夠抵抗攻擊。
本發明揭露的態樣可幫助執行一安全性積體電路(IC,Integrated Circuit)的安全性啟動載入。當從一外部來源接收啟動碼可能不會有效,本發明揭露以可執行的形式在IC之可執行記憶體中,防止該可疑碼的進入。該等具體實施例在以下被描述用於一安全性IC來使用一例示的啟動-載入程序以防止惡意軟體執行。然而,本發明揭露並不僅限於特定已揭露的啟動-載入程序。本技術領域的通常知識者將理解,該惡意軟體偵測技術適用於任何計算機裝置,其可從外面裝置防止執行的可疑碼或載入韌體。
第1圖例示一系統100的一例示的具體實施例,其允許一IC 102從一外部記憶體裝置104安全地起動。該IC 102包括一處理器106,該處理器106可操作的執行功能,例如藉由執行儲存在該外部記憶體裝置104的啟動碼108來載入啟動。內部的一隨機存取記憶體(RAM,Random Access Memory)110儲存藉由該處理器106所執行的碼。一啟動碼載入器112從該外部記憶體裝置104取得該啟動碼108並傳至該RAM 110。該啟動載入器112可以任何形式的非揮發性記憶體而被儲存在該IC 102中,該非揮發性記憶體包括唯讀記憶體(ROM,Read Only Memory)、電子抹除式可編程唯讀記憶體(EEPROM,Electrically Erasable Programmable Read Only Memory)、快閃記憶體(Flash Memory)、一次性可編程(OTP,One Time Programmable)。本發明揭露的具體實施例描述儲存在啟動唯讀記憶體113(ROM,Boot Read Only Memory)的啟動碼載入器112。
該系統100藉由僅執行安全啟動碼來提供用於安全啟動的一安全性機構。為了此目的,該RAM 110係分成兩個區段:一可執行RAM 114與一非可執行RAM 116。首先,該啟動碼108被載入至該非可執行RAM 116,其中該處理器106用於執行在轉移該碼108至該可執行RAM 114之前,驗證該碼108。更進一步地,該碼108在該非可執行RAM 116中被解密。熟習此項技術者將理解的是解密惡意碼將造成不可執行的資料。本發明揭露在該啟動階段期間,藉由在該非可執行RAM 116中解密與同時驗證該啟動碼108,防止從任何時候執行未驗證的碼。該系統100可具體化於任何已知安全IC,例如該IC 102,其為了多種目的應用而使用於多種不同的裝置。該IC 102可提供不同的服務或功能,例如電話、電視、音響及網際網路的存取等。在本發明揭露的一具體實施例中,該IC 102可為一嵌入式控制器、電腦卡或類似的積體電路。
該IC 102包括該RAM 110,其用於儲存從該外部記憶體裝置104接收的啟動碼108。如已討論的,該RAM 110係分成兩個區段:該可執行RAM 114,其中從該隨機存取記憶體114的碼之執行係被授權;以及該非可執行RAM 116,其中從該非可執行RAM 116的碼之執行係不被允許。為了例示之目的,該系統100描述該RAM 110,然而,熟習此項技術者將瞭解可使用任何已知可更改的記憶體裝置,例如動態隨機存取記憶體(DRAM,Dynamic Random Access Memory)及靜態隨機存取記憶體(SRAM,Static Random Access Memory)。
該外部記憶體裝置104可透過安全或不安全的網路而被耦合至該IC 102以提供啟動元件至該IC 102。應瞭解的是從一外部記憶體裝置載入的韌體可能不安全。另外,該外部裝置可透過有線或是無線手段(例如:通用序列匯排流(USB,Universal Serial Bus)介面或是藍芽)來耦合至該IC 102。該外部記憶體裝置104可包括任何已知的計算機裝置,或可為一合適的記憶體裝置,例如一NAND快閃記憶體、NOR快閃記憶體或硬碟。
該啟動碼108可包括需要啟動該IC 102的啟動元件。通常,該啟動碼108可為“大尺寸”可執行的碼。該名詞“大尺寸”係指該碼大於該可執行/非可執行RAM有效的尺寸。因此,該碼108係分成複數區塊108-A、108-B等。該碼108可係分成數個區塊,且這些區塊在一指定的順序中可以被載入至該非可執行RAM 116。在本發明揭露的另一具體實施例中,不需要將碼分開,且因此只有碼之一區塊被載入至該非可執行RAM 116。
從該外部記憶體裝置104載入的啟動碼108可為安全或惡意軟體。該名詞“安全啟動碼”藉由一處理器(例如該處理器106)描述程式指令為可解釋或可執行的,且該處理器為可信任的。舉例來說,安全碼可藉由維持在該IC 102中之持久的記憶體中之優點而被瞭解為可信任的。另外,該碼108可以藉由從一信任的來源所接收之效果被確定為“安全碼”。熟習此項技術者將理解僅安全啟動碼應執行在IC 102上以降低誤加密的傳導攻擊之風險。該等名詞“安全碼”、“信任碼”及“驗證碼”在全發明揭露中可以被替換地使用。
為了驗證安全啟動碼的確實性,該啟動碼108可包括完成資料編碼、加密、驗證簽章及其他已知的技術。一般來說,藉由使用一合適的安全性金鑰來加密該啟動碼108以回應從該IC 102存取該啟動碼108的一要求,其中該合適的安全性金鑰與該IC 102共用。在該IC 102的末端,該處理器106使用相同的安全性金鑰來解密該加密的碼108以產生可執行的碼。在本發明揭露的一具體實施例中,該啟動碼108可包括執行資料加密演算法,例如高階加密標準(AES,Advanced Encryption Standard)加密。熟習此項技術者將瞭解任何已知資料的加密技術可以被使用來提供安全性特徵給該IC 102。另外,當驗證該碼108時,該碼108以驗證或數位簽章來簽署。
可能造成該安全IC 102損害的可疑啟動碼被視為惡意軟體。應瞭解的是惡意軟體包含不加密或未驗證的加密。因為僅有該外部記憶體裝置104與該IC 102知道該安全性金鑰,任何試圖藉由惡意軟體來代替該安全啟動碼108將造成不正確的解密碼而使得該碼不可操作。解密該惡意軟體造成不可執行的資料被視為混淆資訊。進一步地,該惡意軟體通常不包含一簽章或包含一無效簽章。該等名詞“惡意軟體碼”、“惡意軟體”及“可疑碼”在全發明揭露中可以被替換地使用。
該處理器106確認用於該IC 102的安全啟動載入。在啟動載入的期間,該處理器106驗證與該啟動碼108有關聯的驗證簽章以呈現在該非可執行RAM 116中。當該碼108係分成複數區塊時,該處理器106累加與每一區塊有關聯的簽章。該處理器106亦解密載入至該非可執行RAM 116的碼之區塊,且轉移該被解密的碼至該可執行RAM 114。在該非可執行RAM 116中解密該碼108會造成可以執行的碼或混淆資訊。接著,該處理器106執行載入至該可執行RAM 114的可執行的碼。該處理器106可為任何合適的處理器形式,例如一中央處理單元(CPU,Central Processing Unit)、繪圖處理核心或其他合適的可編程處理電路系統,但不限於此。
應瞭解的是該系統100在本質上為例示且可預期數種變化,而不違反所請發明的領域或目的。第2圖例示該系統100的另一具體實施例,其使該IC 102從該外部記憶體裝置104安全地啟動。該IC 102包括該RAM 110,其中該RAM 110可不係分成兩個區段(如第1圖所示)。反而,該RAM 110基於該啟動碼108的確實性而從非可執行轉換為可執行。為了此目的,第2圖描述的具體實施例包括一指令執行停止模組202,其使該處理器的能力能夠或不能夠執行儲存在該RAM 110的碼。
如圖所示,RAM 110包括一單一區塊,其藉由該停止模組202而不能初始地用於初始碼執行。該啟動碼載入器112自該外部記憶體裝置104載入該區塊108-B。該非執行RAM 110不允許指令的執行。接著,該處理器106確認與該區塊108-B有關的驗證簽章。一旦該等簽章被驗證過,該停止模組202切換該RAM 110至可執行記憶體而能夠使碼執行。假使該等簽章係無效的,則本具體實施例標記該碼108為非信任(un-trusted),以防止它的執行。
有一些機械裝置可以被使用從一記憶體(例如RAM 110)來控制指令執行。舉例來說,一哈佛架構(Harvard architecture)機器可藉由用於指令與資料之一分離的存儲與路徑而提供供此特徵。於該指令途徑上的解密碼器可以因為可疑的編碼而失能,又當與該碼108相關的簽章被驗證過而能夠解密碼,且該編碼被解密碼。在另一執行情況中,一范紐曼型架構(Von Neumann architecture)使用一單一路徑與存儲以保持指令,且資料可以被使用,並且取出指令包含該可疑碼的RAM 110之區域將會失敗。在此,該解密碼器被修改,且可需要執行一特殊功能,例如寫入至在一之前指令取出的一特殊暫存器。不適當寫入至該暫存器將導致碼執行失敗。
第3圖概述用於防止惡意軟體的一示範方法之流程圖。當從一外部來源載入韌體或碼時,該方法300提供一抵抗給一計算機裝置來防備碼攻擊。該記算計設備包含具有一可執行部分與一非可執行部分的內部記憶體。該方法300可在該IC 102(第1圖)上實施以執行安全啟動。如上所討論的,如該啟動碼108的軔體之大小通常很大,且基於該內部記憶體的大小而分成兩個區塊。
該方法300在步驟302開始,其中一碼之區塊係被載入至該非可執行記憶體。當該IC 102打開或需要軟體更新時,該IC 102要求評估儲存於外部裝置101的碼108。使用該啟動碼載入器112以回應該區塊108-A被載入至該非可執行RAM 116。
在步驟304中,與該碼之區塊有關的一驗證或數位簽章係被累加。該處理器106識別與該區塊102-A有關的驗證簽章,並為了確認目的而儲存此簽章於該非可執行RAM 116。該碼108係分成兩個區塊,僅當所有的區塊係載入至該非可執行RAM 116以及對應的簽章為組合時,合適的簽章確認將有可能。
在步驟306中,載入至該非可執行記憶體的碼之區塊係被解密碼。該領域熟習此項技術者將理解自一外部來源載入碼以避免碼攻擊。通常,使用一安全金鑰來加密該碼,且此安全金鑰係提供至計算機裝置以執行成功的碼解密。如上述所討論的,解密未加密的惡意軟體會造成加擾資料。
在步驟308中,已被解密之碼係轉移至該可執行記憶體,例如該可執行RAM 114。接著,該方法300確認被載入的碼之區塊是否為步驟310的最後區塊。該方法300保證該碼所有的區塊(例如該碼108)係載入至該非可執行RAM 116。在方法300的一具體實施例中,該碼基於其大小可能不會係分成複數區塊,且僅需要載入碼的一單一區塊。假使碼的所有區塊不被載入,則該方法300將回去步驟302,即碼的下個區塊係載入至該非可執行a記憶體。該方法步驟302至步驟308重複進行,直到載入碼的最後區塊。
一旦載入碼的所有區塊,且對應的簽章被累加,在步驟312中,該方法300使該被累加簽章為有效。在步驟314中,該方法300識別簽章是否有效。假使該簽章為有效,在步驟316中,則該方法300執行轉移至可執行記憶體之碼的已解密碼之區塊。假使該簽章為無效,在步驟318中,則該方法300不執行作為識別該碼為惡意軟體之無效簽章的碼之已解密碼之區塊。
第4說明用於防止惡意軟體執行的一方法400之另一具體實施例。該方法400可在IC 102上(第1圖)實施以執行安全啟動。該IC 102包括該RAM 110,該RAM 110包含一單一部分,其在可執行與非可執行間切換,如第2圖所數。在另一執行情況,該RAM 110可係分成可執行與非可執行RAM(第1圖)。
該方法400在步驟402開始,一碼之區塊係載入至該RAM 110。該啟動碼載入器112載入例如該區塊108-B的一區塊至非可執行RAM 116,其中不能執行碼。在一執行情況,該區塊108-B係載入至該非可執行RAM 116。在另一執行情況,該碼108基於其大小而不能係分成複數區塊,且僅載入需要碼的一單一區塊。
在步驟404中,驗證與每一碼之區塊有關的數位或驗證簽章。該領域所屬技術領域者將瞭解每一碼之區塊可包括完整的簽章,因此每一區塊可以單獨地有效。基於該簽章,該方法400標記該碼為可疑的或安全的。在步驟406中,該方法400驗證該區塊108-B是否為安全的。假使與該區塊108有關的簽章為有效的,則在步驟408中,該方法400標記該區塊為安全的。
假使與該區塊108-B有關的簽章為無效的,則在步驟410中,該區塊係被標記為可疑的。標記為可疑的區塊保證碼的區塊決不執行在記憶體中。為此目的,碼的區塊也從未轉移至該可執行RAM 114,或該RAM 110不能執行該區塊。在步驟412中,該方法400中止載入碼的其餘部分,例如該碼108被識別為惡意軟體。
假使該區塊108-B係被標記為安全的,在步驟414中,該方法400解密該區塊102-B。解密該安全碼的區塊會造成可執行資料。接著,在步驟416中,執行此可執行資料。在一執行情況中,該區塊108-B係轉移至該可執行RAM 114以用於執行。在另一執行情況中,該RAM 110能夠執行該安全區塊108-B。
應瞭解該方法400係被描述用來啟動碼108,其藉由一驗證簽章而被加密與簽署。在一第一種情況中,該碼108不能藉由一驗證簽章而被簽屬,但是可以使用一金鑰來加密。然而,在一第二種情況中,該碼108可以被簽署,但是不能被加密。
在該第一種情況中,該方法400可能無法驗證與碼之區塊有關的任何簽章。因此,步驟404至412無法按照該方法400而執行;反而載入至該RAM 110之碼的每一區塊係被解密,其後能夠用於執行。如可疑的碼係使用不正確的金鑰來加密,解密碼之區塊將造成加擾資料,其不被執行。如果發生該第二種情況,在方法步驟414中,執行解密的區塊會被略過,且該安全碼會直接執行。
在本發明所揭露論述的方法與系統提供一機械裝置來防止在一安全計算機裝置上執行可疑的碼,其藉由使該碼在一非可執行記憶體或不能執行的記憶體中有效或解密。當有效與解密步驟係實施在該非可執行記憶體中時,該可執行記憶體接收驗證與解密的碼,該碼為安全碼,或未驗證與干擾碼無法被執行,並被視為惡意軟體。在任一例子中,一惡意使用者無法植入可執行惡意軟體至該安全IC裝置的可執行記憶體中。
所屬技術領域之通常知識者將瞭解上述所討論的步驟在所揭示的具體配置可被合併或改變。該等所說明的步驟被用來解釋所示之具體實施例,且應預料到正在進行中技術發展將改變本發明中特定函數的執行方式。這些圖式不用來限制本發明所揭示之範圍,僅藉由參照該等附加的申請專利範圍來判定。
100‧‧‧系統
102‧‧‧IC
104‧‧‧外部記憶體裝置
106‧‧‧處理器
108‧‧‧碼
108-A~108-N‧‧‧區塊
110‧‧‧RAM
112‧‧‧啟動碼載入器
113‧‧‧ROM
114‧‧‧可執行RAN
116‧‧‧非可執行RAM
200‧‧‧系統
202‧‧‧停止模組
300‧‧‧方法
302~318‧‧‧步驟
400‧‧‧方法
402~412‧‧‧步驟
該等圖式的描述陳列如下並說明本發明一些示例性具體實施例。所有的圖式中,類似的參考元件符號歸類於相同或功能類似的元件。該等圖式在本質上係說明性,並非按比例繪製。
第1圖為根據本發明揭露來說明在一積體電路的防止惡意軟體執行之一例示的系統。
第2圖例示在如第1圖所示的積體電路上之防止惡意軟體執行的一系統之另一具體實施例。
第3圖係用於防止惡意軟體的一示範方法之流程圖。
第4圖係用於防止惡意軟體的一另一示範方法之流程圖。
100‧‧‧系統
102‧‧‧IC
104‧‧‧外部記憶體裝置
106‧‧‧處理器
108‧‧‧碼
108-A~108-N‧‧‧區塊
110‧‧‧RAM
112‧‧‧啟動碼載入器
113‧‧‧ROM
114‧‧‧可執行RAN
116‧‧‧非可執行RAM
权利要求:
Claims (20)
[1] 一種用於防止惡意軟體執行的方法,該方法包含:載入碼至一非可執行記憶體中;使與該碼有關聯的一驗證簽章有效;解密該碼;以及一旦確定該驗證簽章係有效時,執行該被解密的碼在該可執行記憶體中。
[2] 如申請專利範圍第1項所述之方法,其中該碼在該載入步驟前係分成複數區塊的一組。
[3] 如申請專利範圍第2項所述之方法,其中該載入步驟包括載入每一個區塊至該非可執行記憶體中。
[4] 如申請專利範圍第2項所述之方法,其中該有效步驟包括累加與從該區塊的一組之每一個區塊有關聯之驗證簽章與使該累加的驗證簽章有效。
[5] 如申請專利範圍第2項所述之方法,其中該有效步驟包括假使該驗證簽章係有效則標記該碼的區塊為安全。
[6] 如申請專利範圍第2項所述之方法,其中該有效步驟包括假使該驗證簽章係無效則標記該碼的區塊為可疑。
[7] 如申請專利範圍第4項所述之方法,其中該解密步驟包括自該等區塊的一組來解密每一個區塊。
[8] 如申請專利範圍第7項所述之方法,其中該執行步驟包括一旦確定該被累加的驗證簽章係有效時,對於該區塊的一組執行該被解密的碼。
[9] 如申請專利範圍第1項所述之方法,其中當使用一合適的金鑰加密該碼時,該解密步驟造成可執行資料。
[10] 如申請專利範圍第1項所述之方法,其中當使用一不合適的金鑰加密該碼時,該解密步驟造成不可執行資料。
[11] 如申請專利範圍第1項所述之方法,其中該執行步驟包括轉移該被解密的程式從非可執行記憶體至該執行前的可執行記憶體。
[12] 如申請專利範圍第1項所述之方法,其中該執行步驟包括一旦確定該驗證簽章係有效時,轉換該非可執行記憶體成為該可執行記憶體。
[13] 一種用於防止惡意軟體執行的系統,該系統包含:一非可執行記憶體配置成用於接收被執行的碼;一可執行記憶體;以及一處理器,其配置成用於:驗證與載入至該非可執行記憶體之碼有關聯的一驗證簽證;解密該碼;一旦確定該驗證簽章係有效時,執行該被解密的碼在該可執行記憶體中。
[14] 如申請專利範圍第13項所述之系統,其中該記憶體為隨機存取記憶體(RAM,Read Access Memory)。
[15] 如申請專利範圍第13項所述之系統,其中當使用一合適的金鑰加密該碼時,該處理器解密該碼來提供可執行資料。
[16] 如申請專利範圍第13項所述之系統,其中假使用一不合適的金鑰加密該碼時,該處理器解密該碼來提供非可執行資料。
[17] 如申請專利範圍第16項所述之系統,其中造成具有一無效的驗證簽章之不可執行資料的碼成為惡意軟體。
[18] 如申請專利範圍第13項所述之系統,其中該處理器更配置成用於轉移該被解密的碼從該非可執行記憶體至該可執行記憶體。
[19] 如申請專利範圍第13項所述之系統,其中該處理器在一旦確定該驗證簽章係有效時,更配置成用於切換該非可執行記憶體成為該可執行記憶體。
[20] 如申請專利範圍第13項所述之系統,其中該碼包括至少一個:加密;或驗證簽章。
类似技术:
公开号 | 公开日 | 专利标题
TWI567580B|2017-01-21|用於防止惡意軟體執行的方法與系統
US8555089B2|2013-10-08|Program execution apparatus, control method, control program, and integrated circuit
US8006095B2|2011-08-23|Configurable signature for authenticating data or program code
KR101735023B1|2017-05-12|민감한 코드와 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치
US8656146B2|2014-02-18|Computer system comprising a secure boot mechanism
US8775784B2|2014-07-08|Secure boot up of a computer based on a hardware based root of trust
KR100851631B1|2008-08-13|보안 모드 제어 메모리
JP5378460B2|2013-12-25|状態検証を使用した保護されたオペレーティングシステムブートのためのシステムおよび方法
US8464037B2|2013-06-11|Computer system comprising a secure boot mechanism on the basis of symmetric key encryption
US8213618B2|2012-07-03|Protecting content on client platforms
KR101567620B1|2015-11-20|데이터 처리 시스템 및 방법
US9390264B2|2016-07-12|Hardware-based stack control information protection
EP2854066B1|2018-02-28|System and method for firmware integrity verification using multiple keys and OTP memory
EP2947594A2|2015-11-25|Protecting critical data structures in an embedded hypervisor system
WO2017000648A1|2017-01-05|一种被加固软件的认证方法及装置
JP4791250B2|2011-10-12|マイクロコンピュータおよびそのソフトウェア改竄防止方法
US20160055331A1|2016-02-25|Detecting exploits against software applications
US9740837B2|2017-08-22|Apparatus and method for preventing cloning of code
US20150113281A1|2015-04-23|Multiple application platform owner keys in a secure object computer system
US20150186681A1|2015-07-02|Method of encryption and decryption for shared library in open operating system
JP5355351B2|2013-11-27|コンピュータ
WO2016058747A1|2016-04-21|System and method for protecting a device against attacks on procedure calls by encrypting arguments
CN102915419A|2013-02-06|一种病毒扫描方法及扫描系统
同族专利:
公开号 | 公开日
US20120331303A1|2012-12-27|
TWI567580B|2017-01-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
US5530752A|1994-02-22|1996-06-25|Convex Computer Corporation|Systems and methods for protecting software from unlicensed copying and use|
GB2290890B|1994-06-29|1999-03-24|Mitsubishi Electric Corp|Information processing system|
US6948070B1|1995-02-13|2005-09-20|Intertrust Technologies Corporation|Systems and methods for secure transaction management and electronic rights protection|
US5978484A|1996-04-25|1999-11-02|Microsoft Corporation|System and method for safety distributing executable objects|
US5987125A|1997-12-15|1999-11-16|Western Atlas International, Inc.|Method for communicating seismic data|
US6463535B1|1998-10-05|2002-10-08|Intel Corporation|System and method for verifying the integrity and authorization of software before execution in a local platform|
CN1276612C|1999-09-07|2006-09-20|索尼公司|信息发送系统、设备、方法和信息接收设备、方法|
CN1818990A|2000-01-21|2006-08-16|索尼公司|数据处理设备和数据处理方法|
US7043641B1|2000-03-08|2006-05-09|Igt|Encryption in a secure computerized gaming system|
US20020124170A1|2001-03-02|2002-09-05|Johnson William S.|Secure content system and method|
CN101241735B|2003-07-07|2012-07-18|罗威所罗生股份有限公司|重放加密的视听内容的方法|
US20020141582A1|2001-03-28|2002-10-03|Kocher Paul C.|Content security layer providing long-term renewable security|
US7254706B2|2001-06-29|2007-08-07|Hewlett-Packard Development Company, L.P.|System and method for downloading of files to a secure terminal|
US6685567B2|2001-08-08|2004-02-03|Igt|Process verification|
CN1559026A|2001-11-12|2004-12-29|网络研究实验室有限公司|防止非法使用信息的方法和装置|
WO2003104948A1|2002-06-05|2003-12-18|富士通株式会社|メモリ管理ユニット、コード検証装置およびコード復号装置|
US8438392B2|2002-06-20|2013-05-07|Krimmeni Technologies, Inc.|Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol|
JP4073913B2|2002-07-09|2008-04-09|富士通株式会社|開放型汎用耐攻撃cpu及びその応用システム|
CN100359425C|2002-08-01|2008-01-02|松下电器产业株式会社|用于解密已加密数据并在存储器空间中定位用于执行的解密数据的方法和设备|
GB0225649D0|2002-11-04|2002-12-11|Transitive Technologies Ltd|Incremental validation|
US7305564B2|2002-12-19|2007-12-04|International Business Machines Corporation|System and method to proactively detect software tampering|
US20040153644A1|2003-02-05|2004-08-05|Mccorkendale Bruce|Preventing execution of potentially malicious software|
US7788487B2|2003-11-28|2010-08-31|Panasonic Corporation|Data processing apparatus|
JP4514473B2|2004-02-23|2010-07-28|富士通株式会社|コンピュータシステム、中央装置及びプログラム実行方法|
JP4447977B2|2004-06-30|2010-04-07|富士通マイクロエレクトロニクス株式会社|セキュアプロセッサ、およびセキュアプロセッサ用プログラム。|
US7490245B2|2004-07-24|2009-02-10|Lenovo Pte. Ltd.|System and method for data processing system planar authentication|
US7802110B2|2004-08-25|2010-09-21|Microsoft Corporation|System and method for secure execution of program code|
US20060053492A1|2004-09-07|2006-03-09|Wallace David R|Software tracking protection system|
US7636856B2|2004-12-06|2009-12-22|Microsoft Corporation|Proactive computer malware protection through dynamic translation|
US7243856B2|2005-03-24|2007-07-17|Sandisk Il Ltd..|Loading internal applications on a smartcard|
US7490352B2|2005-04-07|2009-02-10|Microsoft Corporation|Systems and methods for verifying trust of executable files|
US7441094B2|2005-07-05|2008-10-21|Microsoft Corporation|Memory management configuration|
US7995753B2|2005-08-29|2011-08-09|Cisco Technology, Inc.|Parallel cipher operations using a single data pass|
US20070050622A1|2005-09-01|2007-03-01|Rager Kent D|Method, system and apparatus for prevention of flash IC replacement hacking attack|
US7805763B2|2005-09-29|2010-09-28|Motorola Mobility, Inc.|Method for distributing values for networks with mobile nodes|
US7366762B2|2005-10-04|2008-04-29|International Business Machines Corporation|Method for monitoring and reporting usage of non-hypertext markup language e-mail campaigns|
US7558830B2|2005-10-04|2009-07-07|International Business Machines Corporation|Method for tagging and tracking non-hypertext markup language based e-mail|
US20070168671A1|2006-01-16|2007-07-19|Fujitsu Limited|Digital document management system, digital document management method, and digital document management program|
JP4655951B2|2006-02-06|2011-03-23|ソニー株式会社|情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム|
EP1870814B1|2006-06-19|2014-08-13|Texas Instruments France|Method and apparatus for secure demand paging for processor devices|
US20080046491A1|2006-06-27|2008-02-21|Pixtel Media Technology Ltd.|Configurable unit conversion systems and methods thereof|
US20100075760A1|2006-07-10|2010-03-25|Wms Gaming Inc.|Partition management in a wagering game system|
EP2076799A4|2006-09-08|2011-03-09|Certicom Corp|AUTHENTICATED HIGH FREQUENCY IDENTIFICATION AND KEY DISTRIBUTION SYSTEM THEREFOR|
US8201244B2|2006-09-19|2012-06-12|Microsoft Corporation|Automated malware signature generation|
US20080162866A1|2006-12-28|2008-07-03|Siddiqi Faraz A|Apparatus and method for fast and secure memory context switching|
US8375458B2|2007-01-05|2013-02-12|Apple Inc.|System and method for authenticating code executing on computer system|
US7805598B2|2007-05-03|2010-09-28|Dell Products L.P.|Auto-detecting and auto-correcting system state changes before booting into operating systems|
US7984288B2|2007-05-21|2011-07-19|Sercomm Corporation|Software protection apparatus and protection method thereof|
US20100083006A1|2007-05-24|2010-04-01|Panasonic Corporation|Memory controller, nonvolatile memory device, nonvolatile memory system, and access device|
US8433927B2|2007-05-29|2013-04-30|International Business Machines Corporation|Cryptographically-enabled privileged mode execution|
US20090070880A1|2007-09-11|2009-03-12|Harris David E|Methods and apparatus for validating network alarms|
KR20090037712A|2007-10-12|2009-04-16|삼성전자주식회사|보안 부트-업되는 전자 장치, 그것의 해쉬값 계산 방법 및부트-업 방법|
US20100146589A1|2007-12-21|2010-06-10|Drivesentry Inc.|System and method to secure a computer system by selective control of write access to a data storage medium|
US8307215B2|2008-01-23|2012-11-06|Noam Camiel|System and method for an autonomous software protection device|
GB2457341B|2008-02-14|2010-07-21|Transitive Ltd|Multiprocessor computing system with multi-mode memory consistency protection|
US20090247124A1|2008-03-04|2009-10-01|Apple Inc.|Provisioning mobile devices based on a carrier profile|
US8806618B2|2008-03-31|2014-08-12|Microsoft Corporation|Security by construction for distributed applications|
US8950007B1|2008-04-07|2015-02-03|Lumension Security, Inc.|Policy-based whitelisting with system change management based on trust framework|
US8150039B2|2008-04-15|2012-04-03|Apple Inc.|Single security model in booting a computing device|
US7984286B2|2008-06-25|2011-07-19|Intel Corporation|Apparatus and method for secure boot environment|
EP2166696B1|2008-08-27|2016-10-05|STMicroelectronics SAS|Protection de l'intégrité de données chiffrées en utilisant un état intermédiare de chiffrement pour générer une signature|
WO2010025318A2|2008-08-28|2010-03-04|Motorola, Inc.|Encrypting a unique cryptographic entity|
US9086913B2|2008-12-31|2015-07-21|Intel Corporation|Processor extensions for execution of secure embedded containers|
US8219772B2|2009-07-02|2012-07-10|Stmicroelectronics Limited|Loading secure code into a memory|
US9087195B2|2009-07-10|2015-07-21|Kaspersky Lab Zao|Systems and methods for detecting obfuscated malware|
US8417889B2|2009-07-24|2013-04-09|International Business Machines Corporation|Two partition accelerator and application of tiered flash to cache hierarchy in partition acceleration|
US8561183B2|2009-07-31|2013-10-15|Google Inc.|Native code module security for arm instruction set architectures|
US8285987B1|2009-12-04|2012-10-09|The United States Of America As Represented By The Secretary Of The Air Force|Emulation-based software protection|
JP5681028B2|2010-04-26|2015-03-04|パナソニック株式会社|改ざん監視システム、管理装置及び管理方法|
US8527436B2|2010-08-30|2013-09-03|Stratify, Inc.|Automated parsing of e-mail messages|
US9100188B2|2011-04-18|2015-08-04|Bank Of America Corporation|Hardware-based root of trust for cloud environments|
US9753863B2|2014-12-27|2017-09-05|Intel Corporation|Memory protection with non-readable pages|JP5988473B2|2011-09-20|2016-09-07|株式会社Dnpハイパーテック|モジュールの暗号化/復号化プログラム|
US8776223B2|2012-01-16|2014-07-08|Qualcomm Incorporated|Dynamic execution prevention to inhibit return-oriented programming|
US9135435B2|2013-02-13|2015-09-15|Intel Corporation|Binary translator driven program state relocation|
US20150067314A1|2013-08-30|2015-03-05|Timothy J. Strauss|Secure firmware flash controller|
WO2015068220A1|2013-11-06|2015-05-14|三菱電機株式会社|ソフトウェア更新装置及びソフトウェア更新プログラム|
KR102277666B1|2014-06-30|2021-07-15|삼성전자 주식회사|영상처리장치 및 그 제어방법|
FR3044786B1|2015-12-07|2018-07-13|Ingenico Group|Procede de chargement d'une ressource informatique au sein d'un dispositif electronique, module electronique et programme d'ordinateur correspondant|
TWI606361B|2016-08-25|2017-11-21|ming-xian Wang|APP Detection Unknown Pattern Acquisition and Judgment Method|
CN106384047B|2016-08-26|2019-11-15|青岛天龙安全科技有限公司|App检测未知行为采集及判断方法|
EP3509002A4|2016-08-30|2019-09-11|Socionext Inc.|PROCESSING DEVICE, SEMICONDUCTOR INTEGRATED CIRCUIT, AND SEMICONDUCTOR INTEGRATED CIRCUIT INITIATION METHOD|
US10747878B1|2016-10-07|2020-08-18|Rightquestion, Llc|Rapid verification of executing processes|
US9858424B1|2017-01-05|2018-01-02|Votiro Cybersec Ltd.|System and method for protecting systems from active content|
WO2018160341A1|2017-03-03|2018-09-07|Google Llc|Secure code jump and execution gating|
CN110333967A|2019-05-09|2019-10-15|深圳市德名利电子有限公司|一种防止u盘数据丢失和系统损坏的方法和装置以及设备|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US13/166,849|US20120331303A1|2011-06-23|2011-06-23|Method and system for preventing execution of malware|
[返回顶部]